home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / Cluster.h < prev    next >
C/C++ Source or Header  |  1990-11-28  |  1KB  |  49 lines

  1. #ifndef Cluster_First
  2. #ifdef __GNUG__
  3. #pragma once
  4. #endif
  5. #define Cluster_First
  6.  
  7. #include "VObject.h"
  8.  
  9. //---- Cluster -----------------------------------------------------------
  10.  
  11. class Cluster: public CompositeVObject {
  12. protected:
  13.     short *wd, *ht, *bs, rows, cols;
  14.     Point minGap, actGap;
  15.     Metric minsize;
  16.     VObjAlign align;
  17.  
  18. protected:
  19.     virtual short CalcCols();
  20.     virtual void CacheMinSize();
  21.     
  22. public:
  23.     MetaDef(Cluster);
  24.  
  25.     Cluster(int id, VObjAlign a= eVObjVBase, Point g= gPoint0, Collection *cp= 0);
  26.     Cluster(int id, VObjAlign a, Point g, VObject *,...);
  27.     Cluster(int id, VObjAlign a, Point g, va_list);
  28.     ~Cluster();
  29.  
  30.     VObjAlign GetAlign()
  31.     { return align; }
  32.     Point GetActGap()
  33.     { return actGap; }
  34.     Point GetMinGap()
  35.     { return minGap; }    
  36.     void CalcDimensions();
  37.     void Init(VObjAlign, Point);
  38.     void SetOrigin(Point at);
  39.     void SetExtent(Point e);
  40.     int Base();
  41.     Metric GetMinSize();
  42.     VObject *GetItem(int x, int y)
  43.     { return At(x*rows+y); }
  44.     ostream& PrintOn (ostream&s);
  45.     istream& ReadFrom(istream &);
  46. };
  47.  
  48. #endif Cluster_First
  49.